import Vue from 'vue'
import ElementUI from 'element-ui'	//加载UI框架
import App from './App'
import routes from './router'	//加载路由配置 index.js文件
import VueRouter from 'vue-router' //加载vue-router
import vueResource from 'vue-resource' //http，ajax请求
import Common from './common/common.js' //加载通用JS
import 'element-ui/lib/theme-chalk/index.css'  //加载UI样式
import md5 from 'js-md5'
//页面加载动态效果设置
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
NProgress.configure({     
    easing: 'ease',  // 动画方式    
    speed: 500,  // 递增进度条的速度    
    showSpinner: false, // 是否显示加载ico    
    trickleSpeed: 20, // 自动递增间隔    
    minimum: 0.3 // 初始化时的最小百分比
})

Vue.use(VueRouter)
Vue.use(ElementUI)
Vue.use(vueResource);
Vue.prototype.$md5 = md5;
Vue.prototype.Common = Common;

Vue.config.productionTip = false
//路由加入
const router = new VueRouter({
  mode: 'history',
  routes,
})
//页面title设置
router.beforeEach((to,from,next)=>{
  // 开始进入页面加载页面进度条
  NProgress.start();
	var path = to.path;
  //未登录，跳转到登录页面
  if(path!=Common.url.LOGIN && Common.cookie('token')==null){
    next({
      path: Common.url.LOGIN,
    })
  }
  //已经登录访问登录页面，直接跳转到主页
  if(path==Common.url.LOGIN && Common.cookie('token')!=null){
    next({
      path: Common.url.HOME,
    })
  }
  if(path.length == path.lastIndexOf('/')+1) path = path.slice(0,path.lastIndexOf('/'));
  Vue.prototype.modulePath = path;
	next()
})
router.afterEach(() => {  
  // 在即将进入新的页面组件前，关闭掉进度条
  NProgress.done()
})
const originalPush = VueRouter.prototype.push
  VueRouter.prototype.push = function push(location) {
  return originalPush.call(this, location).catch(err => err)
}
/* eslint-disable no-new */
var Vm = new Vue({
  router,
  render: h => h(App)
}).$mount('#app')
